/autom4te.cache/
/babelweb/
/bld/
+/bld-clazy/
+/bld-sanitizeaddress/
+/bld-sanitizeundefined/
+/bld-tidy/
/build/
+/codacy-clang-tidy
/compile_commands.json
/config.h
/config.log
/out/
/qrc_gpsbabel.cpp
/release/
+/run-clang-tidy-nocolor
/tmp/
CMakeCache.txt
CMakeFiles/
arcpt1 = arcpt2;
}
-void ArcDistanceFilter::arcdist_arc_disp_hdr_cb(const route_head*)
+void ArcDistanceFilter::arcdist_arc_disp_hdr_cb(const route_head* /*unused*/)
{
/* Set arcpt1 to NULL */
arcdist_arc_disp_wpt_cb(nullptr);
/* Member Functions */
void arcdist_arc_disp_wpt_cb(const Waypoint* arcpt2);
- void arcdist_arc_disp_hdr_cb(const route_head*);
+ void arcdist_arc_disp_hdr_cb(const route_head* /*unused*/);
/* Data Members */
Waypoint();
~Waypoint();
Waypoint(const Waypoint& other);
- Waypoint& operator=(const Waypoint& other);
+ Waypoint& operator=(const Waypoint& rhs);
/* Member Functions */
// This can have a large effect on codacy issues from cppcheck
// nullPointerRedundantCheck, nullPointerArithmeticRedundantCheck,
// negativeIndex, arrayIndexOutOfBoundsCond.
-[[gnu::format(printf, 1, 2)]] [[noreturn]] void fatal(const char*, ...);
-[[gnu::format(printf, 1, 2)]] void warning(const char*, ...);
+[[gnu::format(printf, 1, 2)]] [[noreturn]] void fatal(const char* fmt, ...);
+[[gnu::format(printf, 1, 2)]] void warning(const char* fmt, ...);
void printposn(double c, bool is_lat);
void dg100_getfiles() const;
int dg100_erase() const;
void common_rd_init(const QString& fname);
- void dg100_rd_init(const QString& fname, bool isfile);
- void dg200_rd_init(const QString& fname, bool isfile);
+ void dg100_rd_init(const QString& fname, bool is_file);
+ void dg200_rd_init(const QString& fname, bool is_file);
/* Data Members */
}
static int
-waypt_read_cb(int total_ct, GPS_PWay*)
+waypt_read_cb(int total_ct, GPS_PWay* /*unused*/)
{
if (global_opts.verbose_status) {
static int i;
}
}
-static int lap_read_nop_cb(int, GPS_SWay**)
+static int lap_read_nop_cb(int /*unused*/, GPS_SWay** /*unused*/)
{
return 0;
}
}
static int
-waypt_write_cb(GPS_PWay*)
+waypt_write_cb(GPS_PWay* /*unused*/)
{
int n = waypt_count();
/* common route and track pre-work */
static void
-prework_hdr_cb(const route_head*)
+prework_hdr_cb(const route_head* /*unused*/)
{
cur_info = &route_info[route_idx];
}
static void
-prework_tlr_cb(const route_head*)
+prework_tlr_cb(const route_head* /*unused*/)
{
cur_info->last_wpt = cur_info->prev_wpt;
route_idx++;
}
static void
-route_disp_tlr_cb(const route_head*)
+route_disp_tlr_cb(const route_head* /*unused*/)
{
route_idx++;
}
}
static void
-track_disp_tlr_cb(const route_head*)
+track_disp_tlr_cb(const route_head* /*unused*/)
{
route_idx++;
}
/* Member Functions */
static void GeoReadLoc(QXmlStreamReader& reader);
- void geo_waypt_pr(const Waypoint*, QXmlStreamWriter& writer);
- static Geocache::container_t wpt_container(const QString&);
+ void geo_waypt_pr(const Waypoint* waypointp, QXmlStreamWriter& writer);
+ static Geocache::container_t wpt_container(const QString& args);
/* Data Members */
class TaskRecordReader
{
public:
- void igc_task_rec(const char*);
+ void igc_task_rec(const char* rec);
private:
enum class state_t { id, takeoff, start, turnpoint, finish, landing };
class Interpolater
{
public:
- double interpolate_alt(const route_head*, const gpsbabel::DateTime&);
+ double interpolate_alt(const route_head* track, const gpsbabel::DateTime& time);
private:
std::optional<WaypointList::const_iterator> prev_wpt;
/* Member Functions */
- static bool coords_match(double, double, double, double);
- igc_rec_type_t get_record(char**) const;
- void detect_pres_track(const route_head*);
- void detect_gnss_track(const route_head*);
- void detect_other_track(const route_head*, int& max_waypt_ct);
- void get_tracks(const route_head**, const route_head**);
- static QByteArray latlon2str(const Waypoint*);
- static QByteArray date2str(const gpsbabel::DateTime&);
- static QByteArray tod2str(const gpsbabel::DateTime&);
+ static bool coords_match(double lat1, double lon1, double lat2, double lon2);
+ igc_rec_type_t get_record(char** rec) const;
+ void detect_pres_track(const route_head* rh);
+ void detect_gnss_track(const route_head* rh);
+ void detect_other_track(const route_head* rh, int& max_waypt_ct);
+ void get_tracks(const route_head** pres_track, const route_head** gnss_track);
+ static QByteArray latlon2str(const Waypoint* wpt);
+ static QByteArray date2str(const gpsbabel::DateTime& dt);
+ static QByteArray tod2str(const gpsbabel::DateTime& tod);
void wr_header();
- void wr_task_wpt_name(const Waypoint*, const char*);
- void wr_task_hdr(const route_head*, unsigned int task_num);
- void wr_task_wpt(const Waypoint*);
- void wr_task_tlr(const route_head*);
+ void wr_task_wpt_name(const Waypoint* wpt, const char* alt_name);
+ void wr_task_hdr(const route_head* rte, unsigned int task_num);
+ void wr_task_wpt(const Waypoint* wpt);
+ void wr_task_tlr(const route_head* rte);
void wr_tasks();
- void wr_fix_record(const Waypoint*, int, int);
- static int correlate_tracks(const route_head*, const route_head*);
+ void wr_fix_record(const Waypoint* wpt, int pres_alt, int gnss_alt);
+ static int correlate_tracks(const route_head* pres_track, const route_head* gnss_track);
void wr_track();
/* Data Members */
int gusb_cmd_send(const garmin_usb_packet* obuf, size_t sz);
int gusb_cmd_get(garmin_usb_packet* ibuf, size_t sz);
int gusb_init(const char* portname, gpsdevh** dh);
-int gusb_close(gpsdevh*, bool exit_lib = true);
+int gusb_close(gpsdevh* dh, bool exit_lib = true);
/*
* New packet types in USB.
**
** @return [int32] number of track entries
************************************************************************/
-int32 GPS_A300_Get(const char* port , GPS_PTrack** trk, pcb_fn)
+int32 GPS_A300_Get(const char* port , GPS_PTrack** trk, pcb_fn /*unused*/)
{
static UC data[2];
gpsdevh* fd;
**
** @return [int32] success
************************************************************************/
-int32 GPS_A800_Off(const char*, gpsdevh** fd)
+int32 GPS_A800_Off(const char* /*unused*/, gpsdevh** fd)
{
static UC data[2];
GPS_PPacket tra;
**
** @return [int32] success
************************************************************************/
-int32 GPS_A1006_Send(const char*,
+int32 GPS_A1006_Send(const char* /*unused*/,
GPS_PCourse* crs,
int32 n_crs,
gpsdevh* fd)
**
** @return [int32] success
************************************************************************/
-int32 GPS_A1007_Send(const char*,
+int32 GPS_A1007_Send(const char* /*unused*/,
GPS_PCourse_Lap* clp,
int32 n_clp,
gpsdevh* fd)
**
** @return [int32] success
************************************************************************/
-int32 GPS_A1008_Send(const char*,
+int32 GPS_A1008_Send(const char* /*unused*/,
GPS_PCourse_Point* cpt,
int32 n_cpt,
gpsdevh* fd)
static bool libusb_successfully_initialized{false};
static libusb_device_handle* udev{nullptr};
-static int garmin_usb_scan(libusb_unit_data*, int);
+static int garmin_usb_scan(libusb_unit_data* lud, int req_unit_number);
static int gusb_libusb_get(garmin_usb_packet* ibuf, size_t sz);
static int gusb_libusb_get_bulk(garmin_usb_packet* ibuf, size_t sz);
/* Provided by the common code. */
void gusb_syncup();
-void gusb_register_ll(gusb_llops*);
+void gusb_register_ll(gusb_llops* p);
void gusb_list_units();
/* Provided by the OS layers */
* Negative on error.
* 1 if read success - even if empty packet.
*/
-int32 GPS_Packet_Read_usb(gpsdevh*, GPS_PPacket* packet, int eat_bulk)
+int32 GPS_Packet_Read_usb(gpsdevh* /*unused*/, GPS_PPacket* packet, int eat_bulk)
{
int32 n;
int32 payload_size;
#include <cstdio>
int32
-GPS_Write_Packet_usb(gpsdevh*, GPS_PPacket& packet)
+GPS_Write_Packet_usb(gpsdevh* /*unused*/, GPS_PPacket& packet)
{
garmin_usb_packet gp;
memset(&gp, 0, sizeof(gp));
}
void
-LowranceusrFormat::lowranceusr4_route_trl(const route_head*) const
+LowranceusrFormat::lowranceusr4_route_trl(const route_head* /*unused*/) const
{
/* Mystery byte */
gbfputc(0x01, file_out); // end of Route info ??
}
void
-LowranceusrFormat::lowranceusr_merge_trail_tlr(const route_head*)
+LowranceusrFormat::lowranceusr_merge_trail_tlr(const route_head* /*unused*/)
{
if (trail_count == (int)track_count()) { /* last trail */
short num_trail_points = trail_point_count;
}
}
void
-LowranceusrFormat::lowranceusr_merge_trail_hdr_2(const route_head*)
+LowranceusrFormat::lowranceusr_merge_trail_hdr_2(const route_head* /*unused*/)
{
continuous = 0;
}
/* Member Functions */
- static bool same_points(const Waypoint*, const Waypoint*);
- void register_waypt(const Waypoint*) const;
- static const Waypoint* lowranceusr4_find_waypt(uint, int, int);
- static const Waypoint* lowranceusr4_find_global_waypt(uint, uint, uint, uint);
- QString lowranceusr4_readstr(gbfile*, int) const;
- void lowranceusr4_writestr(const QString&, gbfile*, int) const;
- static gpsbabel::DateTime lowranceusr4_get_timestamp(unsigned int, unsigned int);
- static Lowranceusr4Timestamp lowranceusr4_jd_from_timestamp(const gpsbabel::DateTime&);
- static QString lowranceusr_find_desc_from_icon_number(int);
- static int lowranceusr_find_icon_number_from_desc(const QString&);
- static QString lowranceusr4_find_desc_from_icon_number(int);
- static int lowranceusr4_find_icon_number_from_desc(const QString&);
- static const char* lowranceusr4_find_color_from_icon_number_plus_color_index(int, int);
- static int lowranceusr4_find_index_from_icon_desc_and_color_desc(const QString&, const QString&);
- static double lon_mm_to_deg(double);
- static double lat_mm_to_deg(double);
- static long int lon_deg_to_mm(double);
- static long int lat_deg_to_mm(double);
- void lowranceusr_parse_waypt(Waypoint*, int) const;
- void lowranceusr4_parse_waypt(Waypoint*) const;
+ static bool same_points(const Waypoint* A, const Waypoint* B);
+ void register_waypt(const Waypoint* wpt) const;
+ static const Waypoint* lowranceusr4_find_waypt(uint uid_unit, int uid_seq_low, int uid_seq_high);
+ static const Waypoint* lowranceusr4_find_global_waypt(uint id1, uint id2, uint id3, uint id4);
+ QString lowranceusr4_readstr(gbfile* file, int bytes_per_char) const;
+ void lowranceusr4_writestr(const QString& buf, gbfile* file, int bytes_per_char) const;
+ static gpsbabel::DateTime lowranceusr4_get_timestamp(unsigned int jd_number, unsigned int msecs);
+ static Lowranceusr4Timestamp lowranceusr4_jd_from_timestamp(const gpsbabel::DateTime& qdt);
+ static QString lowranceusr_find_desc_from_icon_number(int icon);
+ static int lowranceusr_find_icon_number_from_desc(const QString& desc);
+ static QString lowranceusr4_find_desc_from_icon_number(int icon);
+ static int lowranceusr4_find_icon_number_from_desc(const QString& desc);
+ static const char* lowranceusr4_find_color_from_icon_number_plus_color_index(int icon, int index);
+ static int lowranceusr4_find_index_from_icon_desc_and_color_desc(const QString& icon, const QString& color);
+ static double lon_mm_to_deg(double x);
+ static double lat_mm_to_deg(double x);
+ static long int lon_deg_to_mm(double x);
+ static long int lat_deg_to_mm(double x);
+ void lowranceusr_parse_waypt(Waypoint* wpt_tmp, int object_num_present) const;
+ void lowranceusr4_parse_waypt(Waypoint* wpt_tmp) const;
void lowranceusr_parse_waypts() const;
void lowranceusr_parse_route() const;
void lowranceusr4_parse_route() const;
void lowranceusr_parse_routes();
void lowranceusr_parse_icons() const;
- void lowranceusr_parse_trail(int*);
- void lowranceusr4_parse_trail(int*) const;
+ void lowranceusr_parse_trail(int* trail_num);
+ void lowranceusr4_parse_trail(int* trail_num) const;
void lowranceusr_parse_trails();
- void lowranceusr_waypt_disp(const Waypoint*) const;
- void lowranceusr4_waypt_disp(const Waypoint*);
- void lowranceusr_waypt_pr(const Waypoint*);
+ void lowranceusr_waypt_disp(const Waypoint* wpt) const;
+ void lowranceusr4_waypt_disp(const Waypoint* wpt);
+ void lowranceusr_waypt_pr(const Waypoint* wpt);
void lowranceusr4_write_waypoints();
- void lowranceusr_write_icon(const Waypoint*) const;
- void lowranceusr_trail_hdr(const route_head*);
- void lowranceusr_route_hdr(const route_head*);
- void lowranceusr4_route_hdr(const route_head*);
- void lowranceusr4_route_leg_disp(const Waypoint*) const;
- void lowranceusr4_route_trl(const route_head*) const;
- void lowranceusr_trail_disp(const Waypoint*);
- void lowranceusr_merge_trail_hdr(const route_head*);
- void lowranceusr_merge_trail_tlr(const route_head*);
- void lowranceusr_merge_trail_hdr_2(const route_head*);
- void lowranceusr4_trail_hdr(const route_head*);
- void lowranceusr4_trail_disp(const Waypoint*) const;
+ void lowranceusr_write_icon(const Waypoint* wpt) const;
+ void lowranceusr_trail_hdr(const route_head* trk);
+ void lowranceusr_route_hdr(const route_head* rte);
+ void lowranceusr4_route_hdr(const route_head* rte);
+ void lowranceusr4_route_leg_disp(const Waypoint* wpt) const;
+ void lowranceusr4_route_trl(const route_head* /*unused*/) const;
+ void lowranceusr_trail_disp(const Waypoint* wpt);
+ void lowranceusr_merge_trail_hdr(const route_head* trk);
+ void lowranceusr_merge_trail_tlr(const route_head* /*unused*/);
+ void lowranceusr_merge_trail_hdr_2(const route_head* /*unused*/);
+ void lowranceusr4_trail_hdr(const route_head* trail);
+ void lowranceusr4_trail_disp(const Waypoint* wpt) const;
/* Data Members */
}
void
-RandomFormat::rd_init(const QString&)
+RandomFormat::rd_init(const QString& /*unused*/)
{
random_set_generator();
}
}
void
-RandomFormat::rd_position_init(const QString&)
+RandomFormat::rd_position_init(const QString& /*unused*/)
{
random_set_generator();
realtime = new realtime_data;
/* Member Functions */
- double rand_dbl(double);
- float rand_flt(float);
- int rand_int(int);
- QString rand_str(int, const char*);
+ double rand_dbl(double max);
+ float rand_flt(float max);
+ int rand_int(int max);
+ QString rand_str(int maxlen, const char* fmt);
void random_set_generator();
- Waypoint* random_generate_wpt(int, const QDateTime&, const Waypoint*);
+ Waypoint* random_generate_wpt(int i, const QDateTime& time, const Waypoint* prev);
/* Data Members */
*/
int
-color_to_bbggrr(const char* opt_color)
+color_to_bbggrr(const char* cname)
{
char* ep;
- int color_num = strtol(opt_color, &ep, 10);
+ int color_num = strtol(cname, &ep, 10);
- if (ep != opt_color) {
+ if (ep != cname) {
return color_num;
}
- if (opt_color[0] == '#') {
- color_num = (HexByte(opt_color+1)) + // red
- (HexByte(opt_color+3)<<8) + // green
- (HexByte(opt_color+5)<<16); // blue
+ if (cname[0] == '#') {
+ color_num = (HexByte(cname+1)) + // red
+ (HexByte(cname+3)<<8) + // green
+ (HexByte(cname+5)<<16); // blue
return color_num;
}
for (auto i : color_table) {
- if (0 == case_ignore_strcmp(opt_color, i.cn)) {
+ if (0 == case_ignore_strcmp(cname, i.cn)) {
return (i.b << 16) +
(i.g << 8) +
i.r;
}
}
- fatal("unrecognized color name %s\n", opt_color);
+ fatal("unrecognized color name %s\n", cname);
return -1;
}
QByteArray name() const override;
QList<QByteArray> aliases() const override;
int mibEnum() const override;
- QString convertToUnicode(const char*, int, ConverterState*) const override;
- QByteArray convertFromUnicode(const QChar*, int, ConverterState*) const override;
+ QString convertToUnicode(const char* chars, int len, ConverterState* state) const override;
+ QByteArray convertFromUnicode(const QChar* uc, int len, ConverterState* state) const override;
};
} // namespace gpsbabel
CODACY_CLANG_TIDY=$(curl -s https://api.github.com/repos/codacy/codacy-clang-tidy/releases/latest | jq '.assets[] | select(.name|startswith("codacy-clang-tidy-linux-")) | .browser_download_url' | tr -d \")
CHECKS="clang-diagnostic-*,clang-analyzer-*,cppcoreguidelines-*,modernize-*,bugprone-*,google-*,misc-*,performance-*,readability-*,-cppcoreguidelines-pro-type-vararg,-modernize-use-trailing-return-type,-readability-identifier-length"
-HEADERFILTER=".*"
+HEADERFILTER="$(pwd)/[^/]*\.h|$(pwd)/jeeps/[^/]*\.h|$(pwd)/src/core/[^/]*\.h|$(pwd)/gui/[^/]*\.h|gbversion\.h"
+rm -fr bld-tidy
mkdir bld-tidy
cd bld-tidy
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DGPSBABEL_ENABLE_PCH=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
cd ..
# exclude third party library source
-jq '[.[]|select(.file|contains("zlib")|not)] | [.[]|select(.file|contains("shapelib")|not)] | [.[]|select(.file|contains("bld-tidy")|not)]' \
+jq '[.[]|select(.file|contains("zlib")|not)] | [.[]|select(.file|contains("shapelib")|not)] | [.[]|select(.file|contains("strptime")|not)] | [.[]|select(.file|contains("bld-tidy")|not)]' \
bld-tidy/compile_commands.json \
> compile_commands.json
./run-clang-tidy-nocolor -p "$(pwd)" -header-filter "${HEADERFILTER}" -checks "${CHECKS}" | \
tee tidy.out
+grep warning: tidy.out | sed 's/.*\[/[/' | sort | uniq -c | sort | tee tidy.summary
+
curl -L "${CODACY_CLANG_TIDY}" --output codacy-clang-tidy
chmod +x codacy-clang-tidy
#if FILTERS_ENABLED
#define MYNAME "validate"
-void ValidateFilter::validate_head(const route_head*)
+void ValidateFilter::validate_head(const route_head* /*unused*/)
{
head_ct += 1;
segment_ct_start = point_ct;
}
}
-void ValidateFilter::validate_point(const Waypoint*)
+void ValidateFilter::validate_point(const Waypoint* /*unused*/)
{
point_ct += 1;
}
},
};
- void validate_head(const route_head*);
+ void validate_head(const route_head* /*unused*/);
void validate_head_trl(const route_head* header);
- void validate_point(const Waypoint*);
+ void validate_point(const Waypoint* /*unused*/);
};